package com.lanou3g.ptp.task.mapper;

import com.lanou3g.ptp.entity.Task;
import com.lanou3g.ptp.vo.CentralTaskResult;
import com.lanou3g.ptp.vo.SimpleTask;
import com.lanou3g.ptp.vo.TaskResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface TaskMapper {
    void insert(Task task);

    void delete(Long id);

    void deletes(Long[] ids);

    void update(Task task);

    int updateStatus(Task task);

    List<TaskResult> findStuSubmitTasks(Long teacherId);

    List<Task> findByKeyword(String keyword);

    Task findById(Long id);

    List<SimpleTask> findTasksByTeachlinkId(Long teachlinkId);

    void updates(@Param("id") Long[] taskIds, @Param("t") Task task);

    List<Task> findByStudentId(Long studentId);

    Task findTaskDescById(Long taskId);

    CentralTaskResult findCentralTaskByTeachlinkId(Long teachlinkId);

    Task findOneByTeachlinkId(Long teachlinkId);

    List<Task> findByStatus(Integer status);

    List<Long> findTaskIdByCollegeTeacher(Long collegeTeacherId);

    List<Long> findTaskIdByMajorTeacher(Long majorTeacherId);

    List<Task> showByStudentId(Long id);

    List<Task> findByBaseId(Long baseId);
}
